<?php
namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;

class Banner extends Common
{
    // 客服列表
    public function index() {
        $banner = db('banner')->order('sort asc')->select();
        
        $this->assign('banner', $banner);
        return view();
    }

    // 添加/编辑客服
    public function save_banner() {
        $id = input('param.id');
        if (Request::instance()->isPost()) {
            // 提交数据
            $data = [
                'name' => input('param.name'),
                'url' => input('param.url'),
                'is_show' => input('param.is_show', 1),
                'sort' => input('param.sort', 0)
            ];
            
            if ($id > 0)  {
                $text = '编辑banner成功！';
                $rs = db('banner')->where('id', $id)->update($data);
                $url =  url('index');
            } else {
                $text = '添加banner成功, 请上传图片！';
                $rs = db('banner')->insertGetId($data);
                $url =  url('save_banner', 'id=' . $rs);
            }
            if ($rs)
                return json(['code' => 200, 'msg' => $text , 'url' => $url]);
            else
                return json(['code' => 0, 'msg' => $text . 'banner失败！']);
        } else {
            $text = $id > 0 ? '编辑' : '添加';
            $banner = [];
            if ($id > 0) {
                $banner = db('banner')->where('id', $id)->find();
            }
            $this->assign('banner', $banner);
            $this->assign('text', $text);
            return view();
        }
    }
    
    
    // 上传banner图片
    public function upload_banner() {
        $id = input('param.id');
        $old_img = db('banner')->where('id', $id)->value('image');
        $files = request()->file('file');
        if ($files) {
            foreach($files as $file) {
                // 移动到框架应用根目录/public/uploads/ 目录下
                $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'banner');
                if ($info) {
                    $data['image'] = $info->getSaveName();
                    $rs = db('banner')->where('id', $id)->update($data);
                    if ($rs && !empty($old_img)) {
                        unlink(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'banner' . DS . $old_img);
                    }
                    return json(['code' => 200, 'msg' => '图片上传成功']);
                } else {
                    // 上传失败获取错误信息
                    return json(['code' => 0, 'msg' => $file->getError()]);
                }
            }
        }
        return json(['code' => 0, 'msg' => '请选择要上传的文件']);
    }

    // 设置banner是否显示
    public function save_banner_show() {
        $id = input('param.id');
        $is_show = input('param.is_show');
        $rs = db('banner')->where('id', $id)->update(['is_show' => $is_show]);
        if ($rs)
            return json(['code' => 200, 'msg' => '状态修改成功']);
        else
            return json(['code' => 200, 'msg' => '状态修改失败']);
    }

    // 设置banner排序
    public function save_sort() {
        $id = input('param.id');
        $sort = input('param.sort');
        $rs = db('banner')->where('id', $id)->update(['sort' => $sort]);
        if ($rs !== false)
            return json(['code' => 200, 'msg' => '排序修改成功']);
        else
            return json(['code' => 200, 'msg' => '排序修改失败']);
    }
}
